/*
 * Vehicule.h
 *
 *  Created on: 23 mars 2012
 *      Author: root
 */

#ifndef VEHICULE_H_
#define VEHICULE_H_
#include <iostream>
using namespace std;

class Vehicule {

protected:
	string NumMatricule;
	string Modele;
	string DateAcquisition;
	string Couleur;
	long PuissanceFiscal;
	string Carburant;
	bool EtatDeDisponibilite;
	long NumParking;
public:
	Vehicule();
	Vehicule(string,string,string,string,long,string,bool,long);
	virtual ~Vehicule();
	virtual void  Afficher();
	
	long getNumParking()const;
	void setNumParking(long);

	bool getEtatDeDisponibilite()const;
	void setEtatDeDisponibilite(bool);

	string getNumMatricule()const;
	void setNumMatricule(string);

	string getModele()const;
	void setModele(string);

	string getDateAcquisition()const;
	void setDateAcquisition(string);

	string getCouleur()const;
	void setCouleur(string);

	 long getPuissanceFiscal()const;
	 void setPuissanceFiscal(long);

	string getCarburant()const;
	void setCarburant(string);

	friend ostream& operator<<(ostream&, const Vehicule&);
	friend istream& operator>>(istream& , Vehicule &);
	friend ifstream& operator>>(ifstream&, Vehicule&);
	friend ofstream& operator<<(ofstream&,const Vehicule &);
};

ifstream& operator>>(ifstream&, Vehicule &);
ofstream& operator<<(ofstream&,const Vehicule &);
istream& operator>>(istream& , Vehicule &);
ostream& operator<<(ostream&,const Vehicule&);

#endif
